package ru.averta.notes.service.interceptor;

import org.springframework.beans.factory.annotation.Autowired;
import ru.averta.notes.other.UtilsLucene;
import ru.averta.notes.service.CoolMarkService;
import ru.averta.notes.service.tag.TagManager;

/**
 * Класс загружает все существующие интерсепторы
 */
public class CommonInterceptorLoader {

    /** основной интерсептор */
    @Autowired private MainInterceptor mainInterceptor;

    /** "подинтерсепторы" */
	@Autowired private SiteDeleteInterceptor siteDeleteInterceptor;
    @Autowired private TagLuceneInterceptor tagLuceneInterceptor;

    /** вспомогательные объекты */
	@Autowired private TagManager tm;
    @Autowired private CoolMarkService markService;
    @Autowired private UtilsLucene utilsLucene;

	public void loadInterceptorObjects() {
		siteDeleteInterceptor.setTagManager(tm);
        siteDeleteInterceptor.setMarkService(markService);
        mainInterceptor.addInterceptor(siteDeleteInterceptor);

        tagLuceneInterceptor.setUtilsLucene(utilsLucene);
        mainInterceptor.addInterceptor(tagLuceneInterceptor);
	}

}
